------------------------------------------------------------------------------
--                                                                          --
--                  CairoAda - Ada95 binding for Cairo                      --
--                                                                          --
-- Copyright (C) 2006-2009, Damien Carbonne                                 --
--                                                                          --
-- This library is free software; you can redistribute it and/or modify it  --
-- under the terms of the GNU General Public License as published by the    --
-- Free Software Foundation; either version 2 of the License, or (at your   --
-- option) any later version.                                               --
--                                                                          --
-- This library is distributed in the hope that it will be useful,          --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of           --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General --
-- Public License for more details.                                         --
--                                                                          --
-- You should have received a copy of the GNU General Public License along  --
-- with this library; if not, write to the Free Software Foundation,        --
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.           --
--                                                                          --
-- As a special exception, if other files instantiate generics from this    --
-- unit, or you link this unit with other files to produce an executable,   --
-- this unit does not by itself cause the resulting executable to be        --
-- covered by the GNU General Public License. This exception does not       --
-- however invalidate any other reasons why the executable file might be    --
-- covered by the GNU Public License.                                       --
------------------------------------------------------------------------------

with FT2.Base; use FT2.Base;
package Cairo.Support.FT is
   CAIRO_FT_SYNTHESIZE_BOLD    : constant := 2 ** 0;
   CAIRO_FT_SYNTHESIZE_OBLIQUE : constant := 2 ** 1;

   -- Font Config functions not yet bound

   function cairo_ft_font_face_create_for_ft_face (
      Face       : FT_Face; 
      Load_Flags : FT_Load_Flags
      ) return Font_Face_Ptr;

   function cairo_ft_scaled_font_lock_face (
      Scaled_Font : Scaled_Font_Ptr
      ) return FT_Face;
   procedure cairo_ft_scaled_font_unlock_face (
      Scaled_Font : Scaled_Font_Ptr
      );

   function cairo_ft_font_face_get_synthesize (
      Face : Font_Face_Ptr
      ) return Interfaces.C.unsigned;
   procedure cairo_ft_font_face_set_synthesize (
      Face        : Font_Face_Ptr;
      Synth_Flags : Interfaces.C.unsigned
      );

private
   pragma Import (C, cairo_ft_font_face_create_for_ft_face, "cairo_ft_font_face_create_for_ft_face");
   pragma Import (C, cairo_ft_scaled_font_lock_face, "cairo_ft_scaled_font_lock_face");
   pragma Import (C, cairo_ft_scaled_font_unlock_face, "cairo_ft_scaled_font_unlock_face");
   pragma Import (C, cairo_ft_font_face_get_synthesize, "cairo_ft_font_face_get_synthesize");
   pragma Import (C, cairo_ft_font_face_set_synthesize, "cairo_ft_font_face_set_synthesize");
end Cairo.Support.FT;
